1. Field
Implementations of the invention relate to storage pool space allocation across multiple locations.
2. Description of the Related Art
There are various known techniques for storing data for a storage management application. These storage techniques are often implemented using a storage management server (e.g., a Tivoli Storage Manager™ product marketed by International Business Machines Corporation (IBM)) that can store data objects, such as user files, in one or more locations within storage pools. The storage-management server frequently uses a database for tracking information about the stored objects, including the attributes and locations of the objects in the storage pools.
After being stored on the storage management server, data objects can be moved and copied using data-transfer operations, such as migration in which objects are moved from one storage pool to another storage pool. For example, an object may be migrated from relatively fast and expensive storage such as a disk to relatively slow and inexpensive storage such as tape. Additional data transfer operations include storage pool backups in which objects in one storage pool are duplicated or copied to another pool for availability and recovery purposes.
Some computing systems facilitate all-disk storage solutions. However, these computing systems are not able to ensure that sufficient storage space is made available on-demand. That is, these computing systems require pre-allocation of large amounts of storage space in advance.
Storage pools are groupings of volumes, and the volumes may be represented by a grouping of data that may be physical or logical. In conventional computing systems, each storage pool is associated with a single directory of a single file system. A file system may be described as a system that manages Input/Output (I/O) operations to files and controls the format of information on storage devices. In particular, a file system allows applications to create and manage files on storage devices and to perform I/O operations to those files. A file system may also be described as a collection of files and certain attributes associated with those files.
A storage management server stores data from a storage management client in its own storage space. The storage management server is able to perform backup, archival, space management, and other operations in which data is stored in storage pools on behalf of storage management clients. This storage space may include random access volumes or sequential access volumes. When a file is used in random access mode, portions of the file may be written non-sequentially. When a file is used in sequential access mode, the storage management server stores the data sequentially. Both random access volumes and sequential access volumes may be pre-allocated or acquired dynamically. Traditionally, files are created and deleted from a volume on an as-needed basis, and space for the files is acquired on an as-needed basis. Such files are typically created and deleted within a single directory of a file system. This limitation prevents storage creation within multiple directories of a file system or within multiple file systems, which imposes a restriction on the capacity and scalability of random access and sequential access storage pools.
Thus, there is a continued need in the art for improved storage pool space allocation.